SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TMDOCU_CLIE_Q31]  
/*-------------------------------------------------------*/  
/*---Empresa              : OFISIS S.A.                --*/  
/*---Sistema              : Tesoreria                  --*/  
/*---M½dulo               : Empresa                    --*/  
/*---Programa             : Pagos Clientes          --*/  
/*---Script               :                            --*/  
/*---Nombre SP            : SP_TMDOCU_CLIE_Q31         --*/  
/*---Desarrollado por     : Reynaldo Menacho Luyo      --*/  
/*---Fecha Creaci½n       : 03/04/2002                 --*/  
/*---Base Datos           : Microsoft Sql Server       --*/  
/*---Versi½n              : 7.0                        --*/  
/*---Invoca a SP          :                            --*/  
/*-------------------------------------------------------*/  
/*-------------------------------------------------------*/  
/*---Modificado 1 por     :          --*/  
/*---Fecha Modificaci½n   :          --*/   
/*---Detalle Modificaci½n :          --*/  
/*---                --*/  
/*-------------------------------------------------------*/  
/*-------------------------------------------------------*/  
/*---Drop Proc SP_TMDOCU_CLIE_Q31                      --*/  
/*---Grant Execute on SP_TMDOCU_CLIE_Q31 to public         --*/   
/*DECLARE  
@ISCA_WHER_0001 VARCHAR(255),  
@ISCA_WHER_0002 VARCHAR(255),  
@ISTI_ORDE TD_VC_001,  
@ISTI_AUXI_CLIE TD_VC_001,  
@ISCO_MONE_DEST TD_VC_003,  
@ISST_USUA      TD_VC_001,  
@INFA_USUA      TD_NU_009_004  
  
set @ISCA_WHER_0001 = "Where TMDOCC_GENE.CO_EMPR in ( '01') And TMDOCC_GENE.CO_MONE in ( 'DOL','SOL') And    
TMDOCC_GENE.CO_TIPO_OPER in ( '019','020','021','026','027','036','038','998') AND ROUND(TMDOCC_GENE.IM_TOTA,    
2) = ROUND(T2.IM_DETA,2) "  
set @ISCA_WHER_0002 = ''  
set @ISTI_ORDE  = '1'  
set @ISTI_AUXI_CLIE = 'C'  
set @ISCO_MONE_DEST = 'SOL'  
set @ISST_USUA = 'N'  
set @INFA_USUA = 0  
  
Exec SP_TMDOCU_CLIE_Q31 @ISCA_WHER_0001 , @ISCA_WHER_0002, @ISTI_ORDE , @ISTI_AUXI_CLIE, @ISCO_MONE_DEST, @ISST_USUA,    
@INFA_USUA  

Exec SP_TMDOCU_CLIE_Q31 'AND ROUND(TMDOCC_GENE.IM_TOTA, 2) = ROUND(T2.IM_DETA,2)', '', '1', 'c', 'SOL', 'N', 0
*/  
/*-------------------------------------------------------*/  
@ISCA_WHER_0001 VARCHAR(555),  
@ISCA_WHER_0002 VARCHAR(555),  
@ISTI_ORDE TD_VC_001,  
@ISTI_AUXI_CLIE TD_VC_001,  
@ISCO_MONE_DEST TD_VC_003,  
@ISST_USUA      TD_VC_001,  
@INFA_USUA      TD_NU_009_004  
  
  
As  
Create Table #TWPAGO_CLIE  
( CO_EMPR CHAR(02) NULL,  
CO_MONE  VARCHAR(03) NULL,  
CO_CLIE  VARCHAR(20) NULL,  
CO_TIPO_DOCU VARCHAR(03) NULL,  
NU_DOCU_CLIE VARCHAR(20) NULL,  
CO_TIPO_OPER VARCHAR(03) NULL,  
IM_TOTA  NUMERIC(16,4),  
IM_PAGA  NUMERIC(16,4),  
CO_CABA  VARCHAR(10) NULL,  
NU_CNTA_BANC VARCHAR(20) NULL,  
IM_CONV_DOCU NUMERIC(16,4),  
CO_MONE_OPER VARCHAR(03) NULL,  
FA_TIPO_CAMB NUMERIC(16,4),  
TI_DOCU_CABA VARCHAR(03) NULL,  
NU_DOCU_CABA VARCHAR(20) NULL,  
FE_EMIS  DATETIME,  
FE_VENC  DATETIME,  
FE_OPER  DATETIME,  
NU_COMP_CABA VARCHAR(20) NULL,  
IM_MOVI  NUMERIC(16,4) NULL,  
IM_SALD_CONV NUMERIC(16,4) NULL,  
IM_CONV  NUMERIC(16,4) NULL)  
  
DECLARE  
@CSCO_EMPR      TD_VC_002,  
@CSCO_CABA      TD_VC_020,  
@CSNU_CNTA_BANC TD_VC_020,  
@CSCO_MONE      TD_VC_003,  
@CSCO_CLIE      TD_VC_020,   
@CSCO_TIPO_DOCU TD_VC_003,  
@CSNU_DOCU_CLIE TD_VC_020,  
@CSNU_COMP_CABA TD_VC_020,  
@CNIM_CONV_DOCU TD_NU_016_004,  
@CSCO_MONE_OPER TD_VC_003,  
@CNFA_TIPO_CAMB TD_NU_009_004,  
@CDFE_OPER      TD_DT_001,  
@CNIM_MOVI      TD_NU_016_004,  
@VSCO_EMPR      TD_VC_002,  
@VNFE_0001      TD_IN_001,   
@VNIM_SALD_CONV TD_NU_016_004,  
@VNIM_CONV      TD_NU_016_004,  
@VSTI_CAMB      TD_VC_002,  
@VSTI_ORIG      TD_VC_002,  
@VSFE_INIC TD_VC_020,  
@VSFE_FINA TD_VC_020,  
@VSCA_WHER  VARCHAR(600),  
@VSDE_CONV_0001 VARCHAR(200),  
@VSDE_CONV_0002 VARCHAR(200),  
@VSFA_USUA TD_VC_010,  
  
@OSTI_DOCU_LETR TD_VC_003,  
@OSTI_DOCU_CHEQ TD_VC_003   
  
  
  SELECT @VSCA_WHER = REPLACE(@ISCA_WHER_0001+@ISCA_WHER_0002, 'TCMOVI_BANC', 'T7')  
  
  SELECT @VSFA_USUA = CONVERT(VARCHAR(10), @INFA_USUA)  
  
  IF @ISST_USUA = 'N'  
 SELECT  @VSDE_CONV_0001 = "(SELECT OFITESO.dbo.FN_TCFACT_CAMB_Q02  
(T4.CO_MONE, '"+@ISCO_MONE_DEST+"', T7.FE_OPER,   
   T2.IM_SALD_CONV, T8.TI_CAMB, T8.TI_ORIG, 'S', T8.CO_MONE_DEFA, T8.CO_MONE_EXTR, T7.FA_TIPO_CAMB)),"    
,  
  @VSDE_CONV_0002 = "(SELECT OFITESO.dbo.FN_TCFACT_CAMB_Q02(T4.CO_MONE, '"+@ISCO_MONE_DEST+"', T7.FE_OPER,   
   T2.IM_DETA_NEGA, T8.TI_CAMB, T8.TI_ORIG, 'S', T8.CO_MONE_DEFA, T8.CO_MONE_EXTR, T7.FA_TIPO_CAMB))"   
  ELSE  
 SELECT  @VSDE_CONV_0001 = "(SELECT OFITESO.dbo.FN_TCFACT_CAMB_Q02(T4.CO_MONE, '"+@ISCO_MONE_DEST+"', T7.FE_OPER,   
   T2.IM_SALD_CONV, T8.TI_CAMB, T8.TI_ORIG, 'S', T8.CO_MONE_DEFA, T8.CO_MONE_EXTR, "+@VSFA_USUA+")),"    
,  
  @VSDE_CONV_0002 = "(SELECT OFITESO.dbo.FN_TCFACT_CAMB_Q02(T4.CO_MONE, '"+@ISCO_MONE_DEST+"', T7.FE_OPER,   
   T2.IM_DETA_NEGA, T8.TI_CAMB, T8.TI_ORIG, 'S', T8.CO_MONE_DEFA, T8.CO_MONE_EXTR, "+@VSFA_USUA+"))"   
  
  Exec SP_TTDOCU_CNTB_Q02 6, @OSTI_DOCU_LETR  OUTPUT  
  
  /* Devuelve el Tipo Documento CHEQUE */      
  Exec SP_TTDOCU_CNTB_Q01 29, @OSTI_DOCU_CHEQ Output   
 
  EXECUTE("  
 Insert Into #TWPAGO_CLIE (CO_EMPR, CO_MONE, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE,  
  CO_TIPO_OPER, IM_TOTA, IM_PAGA, CO_CABA, NU_CNTA_BANC, IM_CONV_DOCU,   
  CO_MONE_OPER, FA_TIPO_CAMB, TI_DOCU_CABA, NU_DOCU_CABA, FE_EMIS, FE_VENC, FE_OPER,  
  NU_COMP_CABA, IM_MOVI, IM_SALD_CONV, IM_CONV)   
 Select  TMDOCC_GENE.CO_EMPR, TMDOCC_GENE.CO_MONE, TMDOCC_GENE.CO_CLIE, TMDOCC_GENE.CO_TIPO_DOCU,    
TMDOCC_GENE.NU_DOCU_CLIE,  
  TMDOCC_GENE.CO_TIPO_OPER, TMDOCC_GENE.IM_TOTA, TMDOCC_GENE.IM_PAGA, T2.CO_BANC, T2.NU_CNTA_BANC,    
T2.IM_SALD_CONV,   
  T4.CO_MONE, T7.FA_TIPO_CAMB, Isnull(T7.CO_TIPO_DOCU, '" +  @OSTI_DOCU_CHEQ + "'),  
  Isnull(T7.NU_CHEQ, T7.NU_DOCU_BANC), TMDOCC_GENE.FE_EMIS, TMDOCC_GENE.FE_VENC, T7.FE_OPER,  
  T7.NU_COMP_BANC, T2.IM_DETA_NEGA, " + @VSDE_CONV_0001 + @VSDE_CONV_0002 + "  
 From  TMDOCC_GENE, TDMOVI_BANC T2, TMCNTA_BANC T4, TCMOVI_BANC T7, TMPARA_TESO T8  
 " +  @VSCA_WHER + "   
 And TMDOCC_GENE.IM_PAGA > 0  
 And T7.TI_SITU NOT IN ( 'ANU', 'EXT')  
 And TMDOCC_GENE.CO_ESTA_DOCU != 'ANU'  
 And TMDOCC_GENE.CO_EMPR = T2.CO_EMPR  
 And T2.TI_ENTI = '" + @ISTI_AUXI_CLIE + "'  
 And TMDOCC_GENE.CO_CLIE = T2.CO_ENTI  
 And TMDOCC_GENE.CO_TIPO_DOCU = T2.TI_DOCU_ENTI  
 And TMDOCC_GENE.NU_DOCU_CLIE = T2.NU_DOCU_ENTI   
 And T4.CO_EMPR  = T2.CO_EMPR  
 And T4.CO_BANC  = T2.CO_BANC  
 And T4.NU_CNTA_BANC = T2.NU_CNTA_BANC  
 And T2.TI_MOVI_BANC = 'I'  
 And T2.CO_EMPR  = T7.CO_EMPR  
 And T2.CO_UNID_CONC = T7.CO_UNID_CONC  
 And T2.CO_BANC  = T7.CO_BANC  
 And T2.NU_CNTA_BANC = T7.NU_CNTA_BANC  
 And T2.AA_BNCO  = T7.AA_BNCO  
 And T2.MM_BNCO  = T7.MM_BNCO  
 And T2.TI_MOVI_BANC = T7.TI_MOVI_BANC  
 And T2.NU_COMP_BANC = T7.NU_COMP_BANC  
        And     ISNULL(T2.CO_CNTA_EMPR, '') = ''  
 And TMDOCC_GENE.CO_EMPR = T8.CO_EMPR  
 Union All  
 Select  TMDOCC_GENE.CO_EMPR, TMDOCC_GENE.CO_MONE, TMDOCC_GENE.CO_CLIE, TMDOCC_GENE.CO_TIPO_DOCU,    
TMDOCC_GENE.NU_DOCU_CLIE,  
  TMDOCC_GENE.CO_TIPO_OPER, TMDOCC_GENE.IM_TOTA, TMDOCC_GENE.IM_PAGA, T2.CO_CAJA, T2.NU_COMP_CAJA,    
T2.IM_SALD_CONV,   
  T4.CO_MONE, T7.FA_TIPO_CAMB, CONVERT(VARCHAR(3),''),  
  CONVERT(VARCHAR(15),''),  TMDOCC_GENE.FE_EMIS, TMDOCC_GENE.FE_VENC  ,  
  T7.FE_OPER, T2.NU_COMP_CAJA, T2.IM_DETA_NEGA, " + @VSDE_CONV_0001 + @VSDE_CONV_0002 + "  
 From  TMDOCC_GENE, TDMOVI_CAJA T2, TMCAJA T4, TCMOVI_CAJA T7, TMPARA_TESO T8  
 " +  @VSCA_WHER + "   
 And  TMDOCC_GENE.IM_PAGA > 0  
 And T7.TI_SITU NOT IN ( 'ANU', 'EXT')  
 And TMDOCC_GENE.CO_ESTA_DOCU != 'ANU'  
 And TMDOCC_GENE.CO_EMPR = T2.CO_EMPR  
 And  T2.TI_MOVI = 'I'  
 And T2.TI_ENTI = '" + @ISTI_AUXI_CLIE + "'  
 And TMDOCC_GENE.CO_TIPO_DOCU  = T2.TI_DOCU_ENTI  
 And TMDOCC_GENE.NU_DOCU_CLIE = T2.NU_DOCU_ENTI  
 And  T2.CO_EMPR = T4.CO_EMPR  
 And  T2.CO_CAJA = T4.CO_CAJA  
 And  T2.CO_EMPR = T7.CO_EMPR  
 And  T2.CO_CAJA = T7.CO_CAJA  
 And  T2.AA_CAJA = T7.AA_CAJA  
 And  T2.MM_CAJA = T7.MM_CAJA  
 And  T2.TI_MOVI = T7.TI_MOVI  
 And  T2.NU_COMP_CAJA = T7.NU_COMP_CAJA  
        And     ISNULL(T2.CO_CNTA_EMPR, '') = ''  
 And TMDOCC_GENE.CO_EMPR = T8.CO_EMPR " )  



  
/*  
   UPDATE  #TWPAGO_CLIE  
   SET     IM_SALD_CONV = (Select OFITESO.dbo.FN_TCFACT_CAMB_Q02(CO_MONE_OPER, @ISCO_MONE_DEST, FE_OPER,   
   T1.IM_CONV_DOCU, T2.TI_CAMB, T2.TI_ORIG, 'S', T2.CO_MONE_DEFA  
, T2.CO_MONE_EXTR, FA_TIPO_CAMB)),  
  
           IM_CONV = (Select OFITESO.dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE_OPER, @ISCO_MONE_DEST, T1.FE_OPER,   
   T1.IM_MOVI, T2.TI_CAMB, T2.TI_ORIG, 'S', T2.CO_MONE_DEFA, T2.CO_MONE_EXTR, T1.FA_TIPO_CAMB))  
   FROM #TWPAGO_CLIE T1, TMPARA_TESO T2  
   WHERE T1.CO_EMPR = T2.CO_EMPR  
*/  
/*  
  SELECT @VSCO_EMPR = Max(CO_EMPR)  
  FROM #TWPAGO_CLIE  
  
  SELECT @VSTI_CAMB = TI_CAMB, @VSTI_ORIG = TI_ORIG  
  FROM   TMPARA_TESO  
  WHERE  CO_EMPR = @VSCO_EMPR  
  
  DECLARE  CU_TMDOCC_GENE_Q22_1 CURSOR  
  FOR   
  SELECT  T1.CO_EMPR, T1.CO_CABA, T1.NU_CNTA_BANC, T1.CO_MONE, T1.CO_TIPO_DOCU,   
          T1.NU_DOCU_CLIE, T1.NU_COMP_CABA, T1.IM_CONV_DOCU, T1.CO_MONE_OPER, T1.FA_TIPO_CAMB,   
          T1.FE_OPER, T1.IM_MOVI  
  FROM    #TWPAGO_CLIE T1  
  WHERE   T1.CO_MONE_OPER != @ISCO_MONE_DEST  
  
  OPEN  CU_TMDOCC_GENE_Q22_1  
  FETCH CU_TMDOCC_GENE_Q22_1   
  INTO  @CSCO_EMPR, @CSCO_CABA, @CSNU_CNTA_BANC, @CSCO_MONE, @CSCO_TIPO_DOCU,   
        @CSNU_DOCU_CLIE, @CSNU_COMP_CABA, @CNIM_CONV_DOCU, @CSCO_MONE_OPER, @CNFA_TIPO_CAMB,   
        @CDFE_OPER, @CNIM_MOVI  
  
  
  SELECT @VNFE_0001  = @@FETCH_STATUS  
  WHILE (@VNFE_0001 = 0)  
    BEGIN  
      IF (@VNFE_0001 < 0)  
      BEGIN  
            RAISERROR 20001 "FIN DE ARCHIVO"  
      Close CU_TMDOCC_GENE_Q22_1  
     Deallocate CU_TMDOCC_GENE_Q22_1  
     Return  
        END    
  
      EXEC SP_TCFACT_CAMB_Q01 @CSCO_EMPR, @CSCO_MONE_OPER, @ISCO_MONE_DEST, @CDFE_OPER, @CNIM_CONV_DOCU,  
           @VSTI_CAMB, @VSTI_ORIG, @ISST_USUA, @INFA_USUA, @VNIM_SALD_CONV OUTPUT  
  
      EXEC SP_TCFACT_CAMB_Q01 @CSCO_EMPR, @CSCO_MONE_OPER, @ISCO_MONE_DEST, @CDFE_OPER, @CNIM_MOVI,  
           @VSTI_CAMB, @VSTI_ORIG, @ISST_USUA, @INFA_USUA, @VNIM_CONV OUTPUT  
  
  
      UPDATE  #TWPAGO_CLIE  
      SET     IM_SALD_CONV = @VNIM_SALD_CONV,  
              IM_CONV = @VNIM_CONV  
      WHERE   CURRENT OF CU_TMDOCC_GENE_Q22_1  
  
      FETCH CU_TMDOCC_GENE_Q22_1   
      INTO  @CSCO_EMPR, @CSCO_CABA, @CSNU_CNTA_BANC, @CSCO_MONE, @CSCO_TIPO_DOCU,   
            @CSNU_DOCU_CLIE, @CSNU_COMP_CABA, @CNIM_CONV_DOCU, @CSCO_MONE_OPER, @CNFA_TIPO_CAMB,   
            @CDFE_OPER, @CNIM_MOVI  
  
      SELECT @VNFE_0001 = @@FETCH_STATUS  
  
  END  
  
  CLOSE CU_TMDOCC_GENE_Q22_1  
  DEALLOCATE CU_TMDOCC_GENE_Q22_1  
  
  UPDATE  #TWPAGO_CLIE  
  SET     IM_SALD_CONV = IM_CONV_DOCU,  
          IM_CONV = IM_MOVI  
  WHERE   CO_MONE_OPER = @ISCO_MONE_DEST  
*/


  
 IF @ISTI_ORDE = "1"  
 SELECT  T1.CO_EMPR, T1.CO_MONE, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE,  
 T1.CO_TIPO_OPER, T1.IM_TOTA, T1.IM_PAGA, T1.CO_CABA, T1.NU_CNTA_BANC,  
 T1.IM_CONV_DOCU, T1.CO_MONE_OPER, T3.DE_NOMB, T1.FA_TIPO_CAMB, T2.NO_AUXI,   
 T1.TI_DOCU_CABA, T1.NU_DOCU_CABA, CONVERT(VARCHAR(10), T1.FE_EMIS, 103), CONVERT(VARCHAR(10), T1.FE_VENC, 103 ),    
CONVERT(VARCHAR(10), T1.FE_OPER, 103),   
 T1.NU_COMP_CABA, T1.IM_MOVI, T1.IM_SALD_CONV, T1.IM_CONV, "",  
 "", "1", "1", "1", "1", T1.FE_OPER  
 FROM  #TWPAGO_CLIE T1, TMAUXI_EMPR T2, TMEMPR T3  
 WHERE T1.CO_EMPR = T2.CO_EMPR  
 AND  T2.TI_AUXI_EMPR = @ISTI_AUXI_CLIE  
 AND  T1.CO_CLIE = T2.CO_AUXI_EMPR  
 AND  T1.CO_EMPR = T3.CO_EMPR  
 UNION ALL  
 Select T1.CO_EMPR, T1.CO_MONE_OPER, T1.CO_CLIE, T1.CO_MONE_OPER, "",   
  "", 0, 0, "", "",   
  0, T1.CO_MONE_OPER, MAX(T3.DE_NOMB), 0, MAX(T2.NO_AUXI),   
  "", "", NULL, NULL, NULL, "",   
  Sum(T1.IM_MOVI), 0, 0, Max(T4.SB_MONE), Max(T4.DE_MONE),  
  "2", "1", "1", "1", NULL  
 From  #TWPAGO_CLIE T1, TMAUXI_EMPR T2, TMEMPR T3, TTMONE T4  
 Where  T1.CO_EMPR = T2.CO_EMPR  
 AND  T2.TI_AUXI_EMPR = @ISTI_AUXI_CLIE  
 AND  T1.CO_CLIE = T2.CO_AUXI_EMPR  
 AND  T1.CO_EMPR = T3.CO_EMPR  
 And  T1.CO_MONE_OPER = T4.CO_MONE  
 Group By T1.CO_EMPR, T1.CO_CLIE, T1.CO_MONE_OPER  
 Union All  
 Select T1.CO_EMPR, T1.CO_MONE_OPER, "", T1.CO_MONE_OPER, "",   
  "", 0, 0, "", "",   
  0, T1.CO_MONE_OPER, MAX(T3.DE_NOMB), 0, "",   
  "", "", NULL, NULL, NULL,  
  "", Sum(T1.IM_MOVI), 0, 0, Max(T4.SB_MONE),   
  Max(T4.DE_MONE), "2", "2", "2", "1", NULL  
 From  #TWPAGO_CLIE T1, TMEMPR T3, TTMONE T4  
 Where  T1.CO_EMPR = T3.CO_EMPR  
 And  T1.CO_MONE_OPER = T4.CO_MONE  
 Group By T1.CO_EMPR, T1.CO_MONE_OPER  
 Union All  
 Select Max(T1.CO_EMPR), T1.CO_MONE_OPER, "", T1.CO_MONE_OPER, "",   
  "", 0, 0, "", "",   
  0, T1.CO_MONE_OPER, MAX(T3.DE_NOMB), 0, "",   
  "", "", NULL, NULL, NULL,  
  "", Sum(T1.IM_MOVI), 0, 0, Max(T4.SB_MONE),   
  Max(T4.DE_MONE), "2", "2", "2", "2", NULL  
 From  #TWPAGO_CLIE T1, TMEMPR T3, TTMONE T4  
 Where  T1.CO_EMPR = T3.CO_EMPR  
 And  T1.CO_MONE_OPER = T4.CO_MONE  
 Group By T1.CO_MONE_OPER  
 ORDER BY 30, 1, 29, 3, 27, 31, 4, 5  
  


  
  IF @ISTI_ORDE = "2"  
 SELECT  T1.CO_EMPR, T1.CO_MONE, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE,  
  T1.CO_TIPO_OPER, T1.IM_TOTA, T1.IM_PAGA, T1.CO_CABA, T1.NU_CNTA_BANC,  
  T1.IM_CONV_DOCU, T1.CO_MONE_OPER, T3.DE_NOMB, T1.FA_TIPO_CAMB, T2.NO_AUXI,   
  T1.TI_DOCU_CABA, T1.NU_DOCU_CABA, CONVERT(VARCHAR(10), T1.FE_EMIS, 103),  
  CONVERT(VARCHAR(10), T1.FE_VENC, 103 ), CONVERT(VARCHAR(10), T1.FE_OPER, 103),   
  T1.NU_COMP_CABA, T1.IM_MOVI, T1.IM_SALD_CONV, T1.IM_CONV, "",  
  "", "1", "1", "1", "1", T1.FE_OPER  
 FROM  #TWPAGO_CLIE T1, TMAUXI_EMPR T2, TMEMPR T3  
 WHERE T1.CO_EMPR = T2.CO_EMPR  
 AND  T2.TI_AUXI_EMPR = @ISTI_AUXI_CLIE  
 AND  T1.CO_CLIE = T2.CO_AUXI_EMPR  
 AND  T1.CO_EMPR = T3.CO_EMPR  
 UNION ALL  
 Select T1.CO_EMPR, T1.CO_MONE_OPER, T1.CO_CLIE, T1.CO_MONE_OPER,  
  "", "", 0, 0,  
  "", "", 0, T1.CO_MONE_OPER,  
  MAX(T3.DE_NOMB), 0, MAX(T2.NO_AUXI), "",  
  "", NULL, NULL, CONVERT(VARCHAR(10), T1.FE_OPER, 103),  
  "", Sum(T1.IM_MOVI), 0, 0, Max(T4.SB_MONE), Max(T4.DE_MONE),  
  "2", "1", "1", "1", T1.FE_OPER  
 From  #TWPAGO_CLIE T1, TMAUXI_EMPR T2, TMEMPR T3, TTMONE T4  
 Where  T1.CO_EMPR = T2.CO_EMPR  
 AND  T2.TI_AUXI_EMPR = @ISTI_AUXI_CLIE  
 AND  T1.CO_CLIE = T2.CO_AUXI_EMPR  
 AND  T1.CO_EMPR = T3.CO_EMPR  
 And  T1.CO_MONE_OPER = T4.CO_MONE  
 Group By T1.CO_EMPR, T1.FE_OPER, T1.CO_CLIE, T1.CO_MONE_OPER  
 Union All  
 Select T1.CO_EMPR, T1.CO_MONE_OPER, "", T1.CO_MONE_OPER,  
  "", "", 0, 0,  
  "", "", 0, T1.CO_MONE_OPER,  
  MAX(T3.DE_NOMB), 0, "", "",  
  "", NULL, NULL, CONVERT(VARCHAR(10), T1.FE_OPER, 103),  
  "", Sum(T1.IM_MOVI), 0, 0, Max(T4.SB_MONE), Max(T4.DE_MONE),  
  "2", "2", "1", "1", T1.FE_OPER  
 From  #TWPAGO_CLIE T1, TMEMPR T3, TTMONE T4  
 Where  T1.CO_EMPR = T3.CO_EMPR  
 And  T1.CO_MONE_OPER = T4.CO_MONE  
 Group By T1.CO_EMPR, T1.FE_OPER, T1.CO_MONE_OPER  
 Union All  
 Select T1.CO_EMPR, T1.CO_MONE_OPER, "", T1.CO_MONE_OPER,  
  "", "", 0, 0,  
  "", "", 0, T1.CO_MONE_OPER,  
  MAX(T3.DE_NOMB), 0, "", "",  
  "", NULL, NULL, NULL,  
  "", Sum(T1.IM_MOVI), 0, 0, Max(T4.SB_MONE), Max(T4.DE_MONE),  
  "2", "2", "2", "1", NULL  
 From  #TWPAGO_CLIE T1, TMEMPR T3, TTMONE T4  
 Where  T1.CO_EMPR = T3.CO_EMPR  
 And  T1.CO_MONE_OPER = T4.CO_MONE  
 Group By T1.CO_EMPR, T1.CO_MONE_OPER  
 Union All  
 Select Max(T1.CO_EMPR), T1.CO_MONE_OPER, "", T1.CO_MONE_OPER,  
  "", "", 0, 0,  
  "", "", 0, T1.CO_MONE_OPER,  
  MAX(T3.DE_NOMB), 0, "", "",  
  "", NULL, NULL, NULL,  
  "", Sum(T1.IM_MOVI), 0, 0, Max(T4.SB_MONE), Max(T4.DE_MONE),  
  "2", "2", "2", "2", NULL  
 From  #TWPAGO_CLIE T1, TMEMPR T3, TTMONE T4  
 Where  T1.CO_EMPR = T3.CO_EMPR  
 And  T1.CO_MONE_OPER = T4.CO_MONE  
 Group By T1.CO_MONE_OPER  
 ORDER BY 30, 1, 29, 31, 28, 3, 27, 4, 5  
  
  IF @ISTI_ORDE = "3"  
 SELECT  T1.CO_EMPR, T1.CO_MONE, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE,  
  T1.CO_TIPO_OPER, T1.IM_TOTA, T1.IM_PAGA, T1.CO_CABA, T1.NU_CNTA_BANC,  
  T1.IM_CONV_DOCU, T1.CO_MONE_OPER, T3.DE_NOMB, T1.FA_TIPO_CAMB, T2.NO_AUXI,   
  T1.TI_DOCU_CABA, T1.NU_DOCU_CABA, CONVERT(VARCHAR(10), T1.FE_EMIS, 103),  
  CONVERT(VARCHAR(10), T1.FE_VENC, 103 ), CONVERT(VARCHAR(10), T1.FE_OPER, 103),   
  T1.NU_COMP_CABA, T1.IM_MOVI, T1.IM_SALD_CONV, T1.IM_CONV, "",  
  "", "1", "1", "1", "1", T1.FE_OPER  
 FROM  #TWPAGO_CLIE T1, TMAUXI_EMPR T2, TMEMPR T3  
 WHERE T1.CO_EMPR = T2.CO_EMPR  
 AND  T2.TI_AUXI_EMPR = @ISTI_AUXI_CLIE  
 AND  T1.CO_CLIE = T2.CO_AUXI_EMPR  
 AND  T1.CO_EMPR = T3.CO_EMPR  
 UNION ALL  
 Select T1.CO_EMPR, T1.CO_MONE_OPER, T1.CO_CLIE, T1.CO_TIPO_DOCU,  
  T1.NU_DOCU_CLIE, "", 0, 0,  
  "", "", 0, T1.CO_MONE_OPER,  
  MAX(T3.DE_NOMB), 0, MAX(T2.NO_AUXI), "",  
  "", NULL, NULL, NULL,  
  "", Sum(T1.IM_MOVI), 0, 0, Max(T4.SB_MONE), Max(T4.DE_MONE),  
  "1", "2", "1", "1", NULL  
 From #TWPAGO_CLIE T1, TMAUXI_EMPR T2, TMEMPR T3, TTMONE T4  
 Where  T1.CO_EMPR = T2.CO_EMPR  
 AND  T2.TI_AUXI_EMPR = @ISTI_AUXI_CLIE  
 AND  T1.CO_CLIE = T2.CO_AUXI_EMPR  
 AND  T1.CO_EMPR = T3.CO_EMPR  
 And  T1.CO_MONE_OPER = T4.CO_MONE  
 Group By T1.CO_EMPR, T1.CO_CLIE,  T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, T1.CO_MONE_OPER  
 Union All  
 Select T1.CO_EMPR, T1.CO_MONE_OPER, T1.CO_CLIE, Max(T1.CO_TIPO_DOCU),  
  Max(T1.NU_DOCU_CLIE), "", 0, 0,  
  "", "", 0, T1.CO_MONE_OPER,  
  MAX(T3.DE_NOMB), 0, "", "",  
  "", NULL, NULL, NULL,  
  "", Sum(T1.IM_MOVI), 0, 0, Max(T4.SB_MONE), Max(T4.DE_MONE),  
  "2", "2", "1", "1", NULL  
 From  #TWPAGO_CLIE T1, TMEMPR T3, TTMONE T4  
 Where  T1.CO_EMPR = T3.CO_EMPR  
 And  T1.CO_MONE_OPER = T4.CO_MONE  
 Group By T1.CO_EMPR, T1.CO_CLIE, T1.CO_MONE_OPER  
 Union All  
 Select T1.CO_EMPR, T1.CO_MONE_OPER, "", T1.CO_MONE_OPER,  
  "", "", 0, 0,  
  "", "", 0, T1.CO_MONE_OPER,  
  MAX(T3.DE_NOMB), 0, "", "",  
  "", NULL, NULL, NULL,  
  "", Sum(T1.IM_MOVI), 0, 0, Max(T4.SB_MONE), Max(T4.DE_MONE),  
  "2", "2", "2", "1", NULL  
 From  #TWPAGO_CLIE T1, TMEMPR T3, TTMONE T4  
 Where  T1.CO_EMPR = T3.CO_EMPR  
 And  T1.CO_MONE_OPER = T4.CO_MONE  
 Group By T1.CO_EMPR, T1.CO_MONE_OPER  
 Union All  
 Select Max(T1.CO_EMPR), T1.CO_MONE_OPER, "", T1.CO_MONE_OPER,  
  "", "", 0, 0,  
  "", "", 0, T1.CO_MONE_OPER,  
  MAX(T3.DE_NOMB), 0, "", "",  
  "", NULL, NULL, NULL,  
  "", Sum(T1.IM_MOVI), 0, 0, Max(T4.SB_MONE), Max(T4.DE_MONE),  
  "2", "2", "2", "2", NULL  
 From  #TWPAGO_CLIE T1, TMEMPR T3, TTMONE T4  
 Where  T1.CO_EMPR = T3.CO_EMPR  
 And  T1.CO_MONE_OPER = T4.CO_MONE  
 Group By T1.CO_MONE_OPER  
 ORDER BY 30, 1, 29, 3, 27, 4, 5 , 28  
  
/*------------------------- FIN ------------------------------ */  

GO
